A Framework for Inductive Proofs of Data Structures
نویسندگان
چکیده
We consider the problem of automated program verification with emphasis on reasoning about dynamically manipulated data structures. We begin with an existing specification language which has two key features: (a) the use of explicit heap variables, and (b) user defined recursive properties in a wrapper logic language. The language provides a new-level of expressiveness for specifying properties of heap manipulations. The main contribution, however, is an algorithm to automatically prove verification conditions when formulas in the specification language are used as assertions in programs. More precisely, we consider verification of heap manipulating programs that combines user written modular contracts and loop invariants with completely automated theorem proving of the resulting verification conditions. The key feature of the algorithm is the ability to automatically employ induction proof steps with respect to dynamically generated induction hypotheses. Though necessarily still incomplete, the algorithm provides a new level of automation.
منابع مشابه
Automating Program Proofs Based on Separation Logic with Inductive Definitions
This paper investigates the use of Separation Logic with inductive definitions in reasoning about programs that manipulate dynamic data structures. We propose a novel approach for exploiting the inductive definitions in automating program proofs based on inductive invariants. We focus on iterative programs, although our techniques apply to recursive programs as well, and specifications that des...
متن کاملNatural proofs versus programs optimization in the Calculus of Inductive Constructions
This paper presents how to automatically prove that an \opti-mized" program is correct with respect to a set of given properties that is a speciication. Proofs of speciications contain logical and computational parts. Programs can be seen as computational parts of proofs. They can thus be extracted from proofs and be certiied to be correct. The inverse problem can be solved: it is possible to r...
متن کاملFormalised Inductive Reasoning in the Logic of Bunched Implications
We present a framework for inductive definitions in the logic of bunched implications, BI, and formulate two sequent calculus proof systems for inductive reasoning in this framework. The first proof system adopts a traditional approach to inductive proof, extending the usual sequent calculus for predicate BI with explicit induction rules for the inductively defined predicates. The second system...
متن کاملThe logical structures of theological proofs, with an emphasis on the proof of love to God
This article has no abstract.
متن کاملInductive Beluga: Programming Proofs
belugais a proof environment that provides a rich sophisticated infrastructure for implementing formal systems based on the logical framework LF together with a first-order reasoning language for implementing inductive proofs about them following the Curry-Howard
متن کاملConstructive Second-Order Proofs in Logical Databases
The constructive second-order proofs that we study are associated with inductive definitions on classes of finite structures, where each structure represents a database state. To an inductive definition of a predicate P on a class K corresponds a uniform proof of P i.e a function which for each structure U defines a proof of P in U In the second section, we review the definition of an inductive...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013